vulkan: Remove GskVulkanPipeline
authorBenjamin Otte <otte@redhat.com>
Mon, 3 Jul 2023 13:49:36 +0000 (15:49 +0200)
committerBenjamin Otte <otte@redhat.com>
Sun, 16 Jul 2023 10:13:00 +0000 (12:13 +0200)
Pipelines are handled differently now.

gsk/meson.build
gsk/vulkan/gskvulkanpipeline.c [deleted file]
gsk/vulkan/gskvulkanpipelineprivate.h [deleted file]
gsk/vulkan/gskvulkanrender.c

index e99615d819cc7f39747a6f990581d7f16434488c..5743b52c497662611039aa7acc416a6eef48963e 100644 (file)
@@ -125,7 +125,6 @@ if have_vulkan
     'vulkan/gskvulkanoffscreenop.c',
     'vulkan/gskvulkanop.c',
     'vulkan/gskvulkanoutsetshadowop.c',
-    'vulkan/gskvulkanpipeline.c',
     'vulkan/gskvulkanpushconstantsop.c',
     'vulkan/gskvulkanrender.c',
     'vulkan/gskvulkanrenderer.c',
diff --git a/gsk/vulkan/gskvulkanpipeline.c b/gsk/vulkan/gskvulkanpipeline.c
deleted file mode 100644 (file)
index 1d4b293..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-#include "config.h"
-
-#include "gskvulkanpipelineprivate.h"
-
-#include "gskvulkanpushconstantsprivate.h"
-
-#include "gdk/gdkvulkancontextprivate.h"
-
-#include <graphene.h>
-
-typedef struct _GskVulkanPipelinePrivate GskVulkanPipelinePrivate;
-
-struct _GskVulkanPipelinePrivate
-{
-  GObject parent_instance;
-
-  GdkVulkanContext *context;
-
-  VkPipeline pipeline;
-
-  gsize vertex_stride;
-};
-
-G_DEFINE_TYPE_WITH_PRIVATE (GskVulkanPipeline, gsk_vulkan_pipeline, G_TYPE_OBJECT)
-
-static void
-gsk_vulkan_pipeline_finalize (GObject *gobject)
-{
-  GskVulkanPipelinePrivate *priv = gsk_vulkan_pipeline_get_instance_private (GSK_VULKAN_PIPELINE (gobject));
-  VkDevice device;
-
-  device = gdk_vulkan_context_get_device (priv->context);
-
-  vkDestroyPipeline (device,
-                     priv->pipeline,
-                     NULL);
-
-  G_OBJECT_CLASS (gsk_vulkan_pipeline_parent_class)->finalize (gobject);
-}
-
-static void
-gsk_vulkan_pipeline_class_init (GskVulkanPipelineClass *klass)
-{
-  G_OBJECT_CLASS (klass)->finalize = gsk_vulkan_pipeline_finalize;
-}
-
-static void
-gsk_vulkan_pipeline_init (GskVulkanPipeline *self)
-{
-}
-
-GskVulkanPipeline *
-gsk_vulkan_pipeline_new (GType             pipeline_type,
-                         GdkVulkanContext *context,
-                         VkPipelineLayout  layout,
-                         const char       *shader_name,
-                         VkRenderPass      render_pass)
-{
-  const VkPipelineVertexInputStateCreateInfo *vertex_input_state;
-  GskVulkanPipelinePrivate *priv;
-  GskVulkanPipeline *self;
-  GdkDisplay *display;
-  VkDevice device;
-  char *vertex_shader_name, *fragment_shader_name;
-
-  g_return_val_if_fail (g_type_is_a (pipeline_type, GSK_TYPE_VULKAN_PIPELINE), NULL);
-  g_return_val_if_fail (layout != VK_NULL_HANDLE, NULL);
-  g_return_val_if_fail (shader_name != NULL, NULL);
-  g_return_val_if_fail (render_pass != VK_NULL_HANDLE, NULL);
-
-  self = g_object_new (pipeline_type, NULL);
-
-  priv = gsk_vulkan_pipeline_get_instance_private (self);
-
-  display = gdk_draw_context_get_display (GDK_DRAW_CONTEXT (context));
-  device = gdk_vulkan_context_get_device (context);
-
-  priv->context = context;
-
-  vertex_shader_name = g_strconcat ("/org/gtk/libgsk/vulkan/", shader_name, ".vert.spv", NULL);
-  fragment_shader_name = g_strconcat ("/org/gtk/libgsk/vulkan/", shader_name, ".frag.spv", NULL);
-
-  vertex_input_state = GSK_VULKAN_PIPELINE_GET_CLASS (self)->get_input_state_create_info (self);
-  g_assert (vertex_input_state->vertexBindingDescriptionCount == 1);
-  priv->vertex_stride = vertex_input_state->pVertexBindingDescriptions[0].stride;
-
-  GSK_VK_CHECK (vkCreateGraphicsPipelines, device,
-                                           gdk_vulkan_context_get_pipeline_cache (context),
-                                           1,
-                                           &(VkGraphicsPipelineCreateInfo) {
-                                               .sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO,
-                                               .stageCount = 2,
-                                               .pStages = (VkPipelineShaderStageCreateInfo[2]) {
-                                                   {
-                                                       .sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
-                                                       .stage = VK_SHADER_STAGE_VERTEX_BIT,
-                                                       .module = gdk_display_get_vk_shader_module (display, vertex_shader_name),
-                                                       .pName = "main",
-                                                   },
-                                                   {
-                                                       .sType = VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO,
-                                                       .stage = VK_SHADER_STAGE_FRAGMENT_BIT,
-                                                       .module = gdk_display_get_vk_shader_module (display, fragment_shader_name),
-                                                       .pName = "main",
-                                                   },
-                                               },
-                                               .pVertexInputState = vertex_input_state,
-                                               .pInputAssemblyState = &(VkPipelineInputAssemblyStateCreateInfo) {
-                                                   .sType = VK_STRUCTURE_TYPE_PIPELINE_INPUT_ASSEMBLY_STATE_CREATE_INFO,
-                                                   .topology = VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST,
-                                                   .primitiveRestartEnable = VK_FALSE,
-                                               },
-                                               .pTessellationState = NULL,
-                                               .pViewportState = &(VkPipelineViewportStateCreateInfo) {
-                                                   .sType = VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_STATE_CREATE_INFO,
-                                                   .viewportCount = 1,
-                                                   .scissorCount = 1
-                                               },
-                                               .pRasterizationState = &(VkPipelineRasterizationStateCreateInfo) {
-                                                   .sType = VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_CREATE_INFO,
-                                                   .depthClampEnable = VK_FALSE,
-                                                   .rasterizerDiscardEnable = VK_FALSE,
-                                                   .polygonMode = VK_POLYGON_MODE_FILL,
-                                                   .cullMode = VK_CULL_MODE_NONE,
-                                                   .frontFace = VK_FRONT_FACE_CLOCKWISE,
-                                                   .lineWidth = 1.0f,
-                                               },
-                                               .pMultisampleState = &(VkPipelineMultisampleStateCreateInfo) {
-                                                   .sType = VK_STRUCTURE_TYPE_PIPELINE_MULTISAMPLE_STATE_CREATE_INFO,
-                                                   .rasterizationSamples = 1,
-                                               },
-                                               .pDepthStencilState = &(VkPipelineDepthStencilStateCreateInfo) {
-                                                   .sType = VK_STRUCTURE_TYPE_PIPELINE_DEPTH_STENCIL_STATE_CREATE_INFO
-                                               },
-                                               .pColorBlendState = &(VkPipelineColorBlendStateCreateInfo) {
-                                                   .sType = VK_STRUCTURE_TYPE_PIPELINE_COLOR_BLEND_STATE_CREATE_INFO,
-                                                   .attachmentCount = 1,
-                                                   .pAttachments = (VkPipelineColorBlendAttachmentState []) {
-                                                       {
-                                                           .blendEnable = VK_TRUE,
-                                                           .colorBlendOp = VK_BLEND_OP_ADD,
-                                                           .srcColorBlendFactor = VK_BLEND_FACTOR_ONE,
-                                                           .dstColorBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
-                                                           .alphaBlendOp = VK_BLEND_OP_ADD,
-                                                           .srcAlphaBlendFactor = VK_BLEND_FACTOR_ONE,
-                                                           .dstAlphaBlendFactor = VK_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
-                                                           .colorWriteMask = VK_COLOR_COMPONENT_A_BIT
-                                                                           | VK_COLOR_COMPONENT_R_BIT
-                                                                           | VK_COLOR_COMPONENT_G_BIT
-                                                                           | VK_COLOR_COMPONENT_B_BIT
-                                                       },
-                                                   }
-                                               },
-                                               .pDynamicState = &(VkPipelineDynamicStateCreateInfo) {
-                                                   .sType = VK_STRUCTURE_TYPE_PIPELINE_DYNAMIC_STATE_CREATE_INFO,
-                                                   .dynamicStateCount = 2,
-                                                   .pDynamicStates = (VkDynamicState[2]) {
-                                                       VK_DYNAMIC_STATE_VIEWPORT,
-                                                       VK_DYNAMIC_STATE_SCISSOR
-                                                   },
-                                               },
-                                               .layout = layout,
-                                               .renderPass = render_pass,
-                                               .subpass = 0,
-                                               .basePipelineHandle = VK_NULL_HANDLE,
-                                               .basePipelineIndex = -1,
-                                           },
-                                           NULL,
-                                           &priv->pipeline);
-
-  g_free (fragment_shader_name);
-  g_free (vertex_shader_name);
-
-  gdk_vulkan_context_pipeline_cache_updated (context);
-
-  return self;
-}
-
-VkPipeline
-gsk_vulkan_pipeline_get_pipeline (GskVulkanPipeline *self)
-{
-  GskVulkanPipelinePrivate *priv = gsk_vulkan_pipeline_get_instance_private (self);
-
-  return priv->pipeline;
-}
-
-gsize
-gsk_vulkan_pipeline_get_vertex_stride (GskVulkanPipeline *self)
-{
-  GskVulkanPipelinePrivate *priv = gsk_vulkan_pipeline_get_instance_private (self);
-
-  return priv->vertex_stride;
-}
diff --git a/gsk/vulkan/gskvulkanpipelineprivate.h b/gsk/vulkan/gskvulkanpipelineprivate.h
deleted file mode 100644 (file)
index 771b6af..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#pragma once
-
-#include <gdk/gdk.h>
-
-G_BEGIN_DECLS
-
-#define GSK_TYPE_VULKAN_PIPELINE (gsk_vulkan_pipeline_get_type ())
-
-G_DECLARE_DERIVABLE_TYPE (GskVulkanPipeline, gsk_vulkan_pipeline, GSK, VULKAN_PIPELINE, GObject)
-
-struct _GskVulkanPipelineClass
-{
-  GObjectClass parent_class;
-
-  const VkPipelineVertexInputStateCreateInfo *
-                                (* get_input_state_create_info)         (GskVulkanPipeline              *self);
-};
-
-GskVulkanPipeline *     gsk_vulkan_pipeline_new                         (GType                           pipeline_type,
-                                                                         GdkVulkanContext               *context,
-                                                                         VkPipelineLayout                layout,
-                                                                         const char                     *shader_name,
-                                                                         VkRenderPass                    render_pass);
-VkPipeline              gsk_vulkan_pipeline_get_pipeline                (GskVulkanPipeline              *self);
-gsize                   gsk_vulkan_pipeline_get_vertex_stride           (GskVulkanPipeline              *self);
-
-G_END_DECLS
-
index 1aa35f258d9e4b52cda456f50a3405b6d476bc5f..8a0fb2cd2e80c5a807ab8bffdd8c764e88340817 100644 (file)
@@ -8,7 +8,6 @@
 #include "gskvulkanbufferprivate.h"
 #include "gskvulkancommandpoolprivate.h"
 #include "gskvulkanglyphcacheprivate.h"
-#include "gskvulkanpipelineprivate.h"
 #include "gskvulkanprivate.h"
 #include "gskvulkanpushconstantsopprivate.h"
 #include "gskvulkanrendererprivate.h"